﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace WindowsFormsApplication3
{
    class GestPrestamo
    {
        public bool GrabarPrestamo( CPrestamo pres, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "Insert into Prestamos values(";
                sql += "'" + pres.CodPrest + "',";
                sql += "'" + pres.CodLib + "',";
                sql += "'" + pres.FecPrest + "',";
                sql += "'" + pres.FecDev + "',";
                sql += "'" + pres.NomApe + "',";
                sql += "'" + pres.Email + "',";
                sql += "'" + pres.EstPrest + "')";
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

    
        public bool LibroPrestado(String Cod_Lib, string rutaBDBiblioteca)
        {
            
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            SqlCommand cmd;
            SqlDataReader dr;
            String sql = "Select * From Prestamos Where Cod_Lib = '" + Cod_Lib + "'";
            if (cnBiblioteca != null)
            {
                cmd = new SqlCommand(sql, cnBiblioteca);
                try
                {
                    dr = cmd.ExecuteReader();
                    if (dr.Read())
                        return true;
                    else
                        return false;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }

        public bool EliminarPrestamo(CPrestamo pres, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spEliminarPrestamo";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Prest", System.Data.SqlDbType.Int).Value = pres.CodPrest ;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }


        public bool ModificarPrestamo(CPrestamo pres, string rutaBDBiblioteca)
        {
            AccDatBiblioteca datos = new AccDatBiblioteca();
            SqlConnection cnBiblioteca = datos.ObtenerConexion(rutaBDBiblioteca);
            if (cnBiblioteca != null)
            {
                SqlCommand cmd;
                String sql = "spActualizarPrestamo";
                cmd = new SqlCommand(sql, cnBiblioteca);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Add("@Cod_Prest", System.Data.SqlDbType.Int).Value = pres.CodPrest;
                cmd.Parameters.Add("@Cod_Lib", System.Data.SqlDbType.Char).Value = pres.CodLib;
                cmd.Parameters.Add("@Fec_Prest", System.Data.SqlDbType.SmallDateTime).Value = pres.FecPrest;
                cmd.Parameters.Add("@Fec_Dev", System.Data.SqlDbType.SmallDateTime).Value = pres.FecDev;
                cmd.Parameters.Add("@Nom_Ape", System.Data.SqlDbType.VarChar).Value = pres.NomApe;
                cmd.Parameters.Add("@E_mail", System.Data.SqlDbType.VarChar).Value = pres.Email;
                cmd.Parameters.Add("@Est_Prest", System.Data.SqlDbType.Bit).Value = pres.EstPrest;
                try
                {
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (SqlException ex)
                {
                    return false;
                }
                finally
                {
                    cnBiblioteca.Close();
                }
            }
            else
                return false;
        }
    }
}
